//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new Number(Number.MIN_VALUE) === -0);
write(new Number(Number.MIN_VALUE) === 0);
write(new Number(Number.MIN_VALUE) === 0.0);
write(new Number(Number.MIN_VALUE) === -0.0);
write(new Number(Number.MIN_VALUE) === +0.0);
write(new Number(Number.MIN_VALUE) === 1);
write(new Number(Number.MIN_VALUE) === 10);
write(new Number(Number.MIN_VALUE) === 10.0);
write(new Number(Number.MIN_VALUE) === 10.1);
write(new Number(Number.MIN_VALUE) === -1);
write(new Number(Number.MIN_VALUE) === -10);
write(new Number(Number.MIN_VALUE) === -10.0);
write(new Number(Number.MIN_VALUE) === -10.1);
write(new Number(Number.MIN_VALUE) === Number.MAX_VALUE);
write(new Number(Number.MIN_VALUE) === Number.MIN_VALUE);
write(new Number(Number.MIN_VALUE) === Number.NaN);
write(new Number(Number.MIN_VALUE) === Number.POSITIVE_INFINITY);
write(new Number(Number.MIN_VALUE) === Number.NEGATIVE_INFINITY);
write(new Number(Number.MIN_VALUE) === new Number(NaN));
write(new Number(Number.MIN_VALUE) === new Number(+0));
write(new Number(Number.MIN_VALUE) === new Number(-0));
write(new Number(Number.MIN_VALUE) === new Number(0));
write(new Number(Number.MIN_VALUE) === new Number(0.0));
write(new Number(Number.MIN_VALUE) === new Number(-0.0));
write(new Number(Number.MIN_VALUE) === new Number(+0.0));
write(new Number(Number.MIN_VALUE) === new Number(1));
write(new Number(Number.MIN_VALUE) === new Number(10));
write(new Number(Number.MIN_VALUE) === new Number(10.0));
write(new Number(Number.MIN_VALUE) === new Number(10.1));
write(new Number(Number.MIN_VALUE) === new Number(-1));
write(new Number(Number.MIN_VALUE) === new Number(-10));
write(new Number(Number.MIN_VALUE) === new Number(-10.0));
write(new Number(Number.MIN_VALUE) === new Number(-10.1));
write(new Number(Number.MIN_VALUE) === new Number(Number.MAX_VALUE));
write(new Number(Number.MIN_VALUE) === new Number(Number.MIN_VALUE));
write(new Number(Number.MIN_VALUE) === new Number(Number.NaN));
write(new Number(Number.MIN_VALUE) === new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.MIN_VALUE) === new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.MIN_VALUE) === '');
write(new Number(Number.MIN_VALUE) === 0xa);
write(new Number(Number.MIN_VALUE) === 04);
write(new Number(Number.MIN_VALUE) === 'hello');
write(new Number(Number.MIN_VALUE) === 'hel' + 'lo');
write(new Number(Number.MIN_VALUE) === String(''));
write(new Number(Number.MIN_VALUE) === String('hello'));
write(new Number(Number.MIN_VALUE) === String('h' + 'ello'));
write(new Number(Number.MIN_VALUE) === new String(''));
write(new Number(Number.MIN_VALUE) === new String('hello'));
write(new Number(Number.MIN_VALUE) === new String('he' + 'llo'));
write(new Number(Number.MIN_VALUE) === new Object());
write(new Number(Number.MIN_VALUE) === new Object());
write(new Number(Number.MIN_VALUE) === [1, 2, 3]);
write(new Number(Number.MIN_VALUE) === [1 ,2 , 3]);
write(new Number(Number.MIN_VALUE) === new Array(3));
write(new Number(Number.MIN_VALUE) === Array(3));
write(new Number(Number.MIN_VALUE) === new Array(1 ,2 ,3));
write(new Number(Number.MIN_VALUE) === Array(1));
write(new Number(Number.MIN_VALUE) === foo);
write(new Number(Number.NaN) === undefined);
write(new Number(Number.NaN) === null);
write(new Number(Number.NaN) === true);
write(new Number(Number.NaN) === false);
write(new Number(Number.NaN) === Boolean(true));
write(new Number(Number.NaN) === Boolean(false));
write(new Number(Number.NaN) === new Boolean(true));
write(new Number(Number.NaN) === new Boolean(false));
write(new Number(Number.NaN) === NaN);
write(new Number(Number.NaN) === +0);
write(new Number(Number.NaN) === -0);
write(new Number(Number.NaN) === 0);
write(new Number(Number.NaN) === 0.0);
write(new Number(Number.NaN) === -0.0);
write(new Number(Number.NaN) === +0.0);
write(new Number(Number.NaN) === 1);
write(new Number(Number.NaN) === 10);
write(new Number(Number.NaN) === 10.0);
write(new Number(Number.NaN) === 10.1);
write(new Number(Number.NaN) === -1);
write(new Number(Number.NaN) === -10);
write(new Number(Number.NaN) === -10.0);
write(new Number(Number.NaN) === -10.1);
write(new Number(Number.NaN) === Number.MAX_VALUE);
write(new Number(Number.NaN) === Number.MIN_VALUE);
write(new Number(Number.NaN) === Number.NaN);
write(new Number(Number.NaN) === Number.POSITIVE_INFINITY);
write(new Number(Number.NaN) === Number.NEGATIVE_INFINITY);
write(new Number(Number.NaN) === new Number(NaN));
write(new Number(Number.NaN) === new Number(+0));
write(new Number(Number.NaN) === new Number(-0));
write(new Number(Number.NaN) === new Number(0));
write(new Number(Number.NaN) === new Number(0.0));
write(new Number(Number.NaN) === new Number(-0.0));
write(new Number(Number.NaN) === new Number(+0.0));
write(new Number(Number.NaN) === new Number(1));
write(new Number(Number.NaN) === new Number(10));
write(new Number(Number.NaN) === new Number(10.0));
write(new Number(Number.NaN) === new Number(10.1));
write(new Number(Number.NaN) === new Number(-1));
write(new Number(Number.NaN) === new Number(-10));
write(new Number(Number.NaN) === new Number(-10.0));
write(new Number(Number.NaN) === new Number(-10.1));
write(new Number(Number.NaN) === new Number(Number.MAX_VALUE));
write(new Number(Number.NaN) === new Number(Number.MIN_VALUE));
write(new Number(Number.NaN) === new Number(Number.NaN));
write(new Number(Number.NaN) === new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.NaN) === new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.NaN) === '');
write(new Number(Number.NaN) === 0xa);
write(new Number(Number.NaN) === 04);
write(new Number(Number.NaN) === 'hello');
write(new Number(Number.NaN) === 'hel' + 'lo');
write(new Number(Number.NaN) === String(''));
write(new Number(Number.NaN) === String('hello'));
write(new Number(Number.NaN) === String('h' + 'ello'));
write(new Number(Number.NaN) === new String(''));
write(new Number(Number.NaN) === new String('hello'));
write(new Number(Number.NaN) === new String('he' + 'llo'));
write(new Number(Number.NaN) === new Object());
write(new Number(Number.NaN) === new Object());
write(new Number(Number.NaN) === [1, 2, 3]);
write(new Number(Number.NaN) === [1 ,2 , 3]);
write(new Number(Number.NaN) === new Array(3));
write(new Number(Number.NaN) === Array(3));
write(new Number(Number.NaN) === new Array(1 ,2 ,3));
write(new Number(Number.NaN) === Array(1));
write(new Number(Number.NaN) === foo);
write(new Number(Number.POSITIVE_INFINITY) === undefined);
write(new Number(Number.POSITIVE_INFINITY) === null);
write(new Number(Number.POSITIVE_INFINITY) === true);
write(new Number(Number.POSITIVE_INFINITY) === false);
write(new Number(Number.POSITIVE_INFINITY) === Boolean(true));
write(new Number(Number.POSITIVE_INFINITY) === Boolean(false));
write(new Number(Number.POSITIVE_INFINITY) === new Boolean(true));
write(new Number(Number.POSITIVE_INFINITY) === new Boolean(false));
write(new Number(Number.POSITIVE_INFINITY) === NaN);
write(new Number(Number.POSITIVE_INFINITY) === +0);
write(new Number(Number.POSITIVE_INFINITY) === -0);
write(new Number(Number.POSITIVE_INFINITY) === 0);
write(new Number(Number.POSITIVE_INFINITY) === 0.0);
write(new Number(Number.POSITIVE_INFINITY) === -0.0);
write(new Number(Number.POSITIVE_INFINITY) === +0.0);
write(new Number(Number.POSITIVE_INFINITY) === 1);
write(new Number(Number.POSITIVE_INFINITY) === 10);
write(new Number(Number.POSITIVE_INFINITY) === 10.0);
write(new Number(Number.POSITIVE_INFINITY) === 10.1);
write(new Number(Number.POSITIVE_INFINITY) === -1);
write(new Number(Number.POSITIVE_INFINITY) === -10);
write(new Number(Number.POSITIVE_INFINITY) === -10.0);
write(new Number(Number.POSITIVE_INFINITY) === -10.1);
write(new Number(Number.POSITIVE_INFINITY) === Number.MAX_VALUE);
write(new Number(Number.POSITIVE_INFINITY) === Number.MIN_VALUE);
write(new Number(Number.POSITIVE_INFINITY) === Number.NaN);
write(new Number(Number.POSITIVE_INFINITY) === Number.POSITIVE_INFINITY);
write(new Number(Number.POSITIVE_INFINITY) === Number.NEGATIVE_INFINITY);
write(new Number(Number.POSITIVE_INFINITY) === new Number(NaN));
write(new Number(Number.POSITIVE_INFINITY) === new Number(+0));
write(new Number(Number.POSITIVE_INFINITY) === new Number(-0));
write(new Number(Number.POSITIVE_INFINITY) === new Number(0));
write(new Number(Number.POSITIVE_INFINITY) === new Number(0.0));
write(new Number(Number.POSITIVE_INFINITY) === new Number(-0.0));
write(new Number(Number.POSITIVE_INFINITY) === new Number(+0.0));
write(new Number(Number.POSITIVE_INFINITY) === new Number(1));
write(new Number(Number.POSITIVE_INFINITY) === new Number(10));
write(new Number(Number.POSITIVE_INFINITY) === new Number(10.0));
write(new Number(Number.POSITIVE_INFINITY) === new Number(10.1));
write(new Number(Number.POSITIVE_INFINITY) === new Number(-1));
write(new Number(Number.POSITIVE_INFINITY) === new Number(-10));
write(new Number(Number.POSITIVE_INFINITY) === new Number(-10.0));
write(new Number(Number.POSITIVE_INFINITY) === new Number(-10.1));
write(new Number(Number.POSITIVE_INFINITY) === new Number(Number.MAX_VALUE));
write(new Number(Number.POSITIVE_INFINITY) === new Number(Number.MIN_VALUE));
write(new Number(Number.POSITIVE_INFINITY) === new Number(Number.NaN));
write(new Number(Number.POSITIVE_INFINITY) === new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.POSITIVE_INFINITY) === new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.POSITIVE_INFINITY) === '');
write(new Number(Number.POSITIVE_INFINITY) === 0xa);
write(new Number(Number.POSITIVE_INFINITY) === 04);
write(new Number(Number.POSITIVE_INFINITY) === 'hello');
write(new Number(Number.POSITIVE_INFINITY) === 'hel' + 'lo');
write(new Number(Number.POSITIVE_INFINITY) === String(''));
write(new Number(Number.POSITIVE_INFINITY) === String('hello'));
write(new Number(Number.POSITIVE_INFINITY) === String('h' + 'ello'));
write(new Number(Number.POSITIVE_INFINITY) === new String(''));
write(new Number(Number.POSITIVE_INFINITY) === new String('hello'));
write(new Number(Number.POSITIVE_INFINITY) === new String('he' + 'llo'));
write(new Number(Number.POSITIVE_INFINITY) === new Object());
write(new Number(Number.POSITIVE_INFINITY) === new Object());
write(new Number(Number.POSITIVE_INFINITY) === [1, 2, 3]);
write(new Number(Number.POSITIVE_INFINITY) === [1 ,2 , 3]);
write(new Number(Number.POSITIVE_INFINITY) === new Array(3));
write(new Number(Number.POSITIVE_INFINITY) === Array(3));
write(new Number(Number.POSITIVE_INFINITY) === new Array(1 ,2 ,3));
write(new Number(Number.POSITIVE_INFINITY) === Array(1));
write(new Number(Number.POSITIVE_INFINITY) === foo);
write(new Number(Number.NEGATIVE_INFINITY) === undefined);
write(new Number(Number.NEGATIVE_INFINITY) === null);
write(new Number(Number.NEGATIVE_INFINITY) === true);
write(new Number(Number.NEGATIVE_INFINITY) === false);
write(new Number(Number.NEGATIVE_INFINITY) === Boolean(true));
write(new Number(Number.NEGATIVE_INFINITY) === Boolean(false));
write(new Number(Number.NEGATIVE_INFINITY) === new Boolean(true));
write(new Number(Number.NEGATIVE_INFINITY) === new Boolean(false));
write(new Number(Number.NEGATIVE_INFINITY) === NaN);
write(new Number(Number.NEGATIVE_INFINITY) === +0);
write(new Number(Number.NEGATIVE_INFINITY) === -0);
write(new Number(Number.NEGATIVE_INFINITY) === 0);
write(new Number(Number.NEGATIVE_INFINITY) === 0.0);
write(new Number(Number.NEGATIVE_INFINITY) === -0.0);
write(new Number(Number.NEGATIVE_INFINITY) === +0.0);
write(new Number(Number.NEGATIVE_INFINITY) === 1);
write(new Number(Number.NEGATIVE_INFINITY) === 10);
write(new Number(Number.NEGATIVE_INFINITY) === 10.0);
write(new Number(Number.NEGATIVE_INFINITY) === 10.1);
write(new Number(Number.NEGATIVE_INFINITY) === -1);
write(new Number(Number.NEGATIVE_INFINITY) === -10);
write(new Number(Number.NEGATIVE_INFINITY) === -10.0);
write(new Number(Number.NEGATIVE_INFINITY) === -10.1);
write(new Number(Number.NEGATIVE_INFINITY) === Number.MAX_VALUE);
write(new Number(Number.NEGATIVE_INFINITY) === Number.MIN_VALUE);
write(new Number(Number.NEGATIVE_INFINITY) === Number.NaN);
write(new Number(Number.NEGATIVE_INFINITY) === Number.POSITIVE_INFINITY);
write(new Number(Number.NEGATIVE_INFINITY) === Number.NEGATIVE_INFINITY);
write(new Number(Number.NEGATIVE_INFINITY) === new Number(NaN));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(+0));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(-0));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(0));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(0.0));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(-0.0));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(+0.0));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(1));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(10));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(10.0));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(10.1));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(-1));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(-10));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(-10.0));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(-10.1));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(Number.MAX_VALUE));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(Number.MIN_VALUE));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(Number.NaN));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.NEGATIVE_INFINITY) === new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.NEGATIVE_INFINITY) === '');
write(new Number(Number.NEGATIVE_INFINITY) === 0xa);
write(new Number(Number.NEGATIVE_INFINITY) === 04);
write(new Number(Number.NEGATIVE_INFINITY) === 'hello');
write(new Number(Number.NEGATIVE_INFINITY) === 'hel' + 'lo');
write(new Number(Number.NEGATIVE_INFINITY) === String(''));
write(new Number(Number.NEGATIVE_INFINITY) === String('hello'));
write(new Number(Number.NEGATIVE_INFINITY) === String('h' + 'ello'));
write(new Number(Number.NEGATIVE_INFINITY) === new String(''));
write(new Number(Number.NEGATIVE_INFINITY) === new String('hello'));
write(new Number(Number.NEGATIVE_INFINITY) === new String('he' + 'llo'));
write(new Number(Number.NEGATIVE_INFINITY) === new Object());
write(new Number(Number.NEGATIVE_INFINITY) === new Object());
write(new Number(Number.NEGATIVE_INFINITY) === [1, 2, 3]);
write(new Number(Number.NEGATIVE_INFINITY) === [1 ,2 , 3]);
write(new Number(Number.NEGATIVE_INFINITY) === new Array(3));
write(new Number(Number.NEGATIVE_INFINITY) === Array(3));
write(new Number(Number.NEGATIVE_INFINITY) === new Array(1 ,2 ,3));
write(new Number(Number.NEGATIVE_INFINITY) === Array(1));
write(new Number(Number.NEGATIVE_INFINITY) === foo);
write('' === undefined);
write('' === null);
write('' === true);
write('' === false);
write('' === Boolean(true));
write('' === Boolean(false));
write('' === new Boolean(true));
write('' === new Boolean(false));
write('' === NaN);
write('' === +0);
write('' === -0);
write('' === 0);
write('' === 0.0);
write('' === -0.0);
write('' === +0.0);
write('' === 1);
write('' === 10);
write('' === 10.0);
write('' === 10.1);
write('' === -1);
write('' === -10);
write('' === -10.0);
write('' === -10.1);
write('' === Number.MAX_VALUE);
write('' === Number.MIN_VALUE);
write('' === Number.NaN);
write('' === Number.POSITIVE_INFINITY);
write('' === Number.NEGATIVE_INFINITY);
write('' === new Number(NaN));
write('' === new Number(+0));
write('' === new Number(-0));
write('' === new Number(0));
write('' === new Number(0.0));
write('' === new Number(-0.0));
write('' === new Number(+0.0));
write('' === new Number(1));
write('' === new Number(10));
write('' === new Number(10.0));
write('' === new Number(10.1));
write('' === new Number(-1));
write('' === new Number(-10));
write('' === new Number(-10.0));
write('' === new Number(-10.1));
write('' === new Number(Number.MAX_VALUE));
write('' === new Number(Number.MIN_VALUE));
write('' === new Number(Number.NaN));
write('' === new Number(Number.POSITIVE_INFINITY));
write('' === new Number(Number.NEGATIVE_INFINITY));
write('' === '');
write('' === 0xa);
write('' === 04);
write('' === 'hello');
write('' === 'hel' + 'lo');
write('' === String(''));
write('' === String('hello'));
write('' === String('h' + 'ello'));
write('' === new String(''));
write('' === new String('hello'));
write('' === new String('he' + 'llo'));
write('' === new Object());
write('' === new Object());
write('' === [1, 2, 3]);
write('' === [1 ,2 , 3]);
write('' === new Array(3));
write('' === Array(3));
write('' === new Array(1 ,2 ,3));
write('' === Array(1));
write('' === foo);
write(0xa === undefined);
write(0xa === null);
write(0xa === true);
write(0xa === false);
write(0xa === Boolean(true));
write(0xa === Boolean(false));
write(0xa === new Boolean(true));
write(0xa === new Boolean(false));
write(0xa === NaN);
write(0xa === +0);
write(0xa === -0);
write(0xa === 0);
write(0xa === 0.0);
write(0xa === -0.0);
write(0xa === +0.0);
write(0xa === 1);
write(0xa === 10);
write(0xa === 10.0);
write(0xa === 10.1);
write(0xa === -1);
write(0xa === -10);
write(0xa === -10.0);
write(0xa === -10.1);
write(0xa === Number.MAX_VALUE);
write(0xa === Number.MIN_VALUE);
write(0xa === Number.NaN);
write(0xa === Number.POSITIVE_INFINITY);
write(0xa === Number.NEGATIVE_INFINITY);
write(0xa === new Number(NaN));
write(0xa === new Number(+0));
write(0xa === new Number(-0));
write(0xa === new Number(0));
write(0xa === new Number(0.0));
write(0xa === new Number(-0.0));
write(0xa === new Number(+0.0));
write(0xa === new Number(1));
write(0xa === new Number(10));
write(0xa === new Number(10.0));
write(0xa === new Number(10.1));
write(0xa === new Number(-1));
write(0xa === new Number(-10));
write(0xa === new Number(-10.0));
write(0xa === new Number(-10.1));
write(0xa === new Number(Number.MAX_VALUE));
write(0xa === new Number(Number.MIN_VALUE));
write(0xa === new Number(Number.NaN));
write(0xa === new Number(Number.POSITIVE_INFINITY));
write(0xa === new Number(Number.NEGATIVE_INFINITY));
write(0xa === '');
write(0xa === 0xa);
write(0xa === 04);
write(0xa === 'hello');
write(0xa === 'hel' + 'lo');
write(0xa === String(''));
write(0xa === String('hello'));
write(0xa === String('h' + 'ello'));
write(0xa === new String(''));
write(0xa === new String('hello'));
write(0xa === new String('he' + 'llo'));
write(0xa === new Object());
write(0xa === new Object());
write(0xa === [1, 2, 3]);
write(0xa === [1 ,2 , 3]);
write(0xa === new Array(3));
write(0xa === Array(3));
write(0xa === new Array(1 ,2 ,3));
write(0xa === Array(1));
write(0xa === foo);
write(04 === undefined);
write(04 === null);
write(04 === true);
write(04 === false);
write(04 === Boolean(true));
write(04 === Boolean(false));
write(04 === new Boolean(true));
write(04 === new Boolean(false));
write(04 === NaN);
write(04 === +0);
write(04 === -0);
write(04 === 0);
write(04 === 0.0);
write(04 === -0.0);
write(04 === +0.0);
write(04 === 1);
write(04 === 10);
write(04 === 10.0);
write(04 === 10.1);
write(04 === -1);
write(04 === -10);
write(04 === -10.0);
write(04 === -10.1);
write(04 === Number.MAX_VALUE);
write(04 === Number.MIN_VALUE);
write(04 === Number.NaN);
write(04 === Number.POSITIVE_INFINITY);
write(04 === Number.NEGATIVE_INFINITY);
write(04 === new Number(NaN));
write(04 === new Number(+0));
write(04 === new Number(-0));
write(04 === new Number(0));
write(04 === new Number(0.0));
write(04 === new Number(-0.0));
write(04 === new Number(+0.0));
write(04 === new Number(1));
write(04 === new Number(10));
write(04 === new Number(10.0));
write(04 === new Number(10.1));
write(04 === new Number(-1));
write(04 === new Number(-10));
write(04 === new Number(-10.0));
write(04 === new Number(-10.1));
write(04 === new Number(Number.MAX_VALUE));
write(04 === new Number(Number.MIN_VALUE));
write(04 === new Number(Number.NaN));
write(04 === new Number(Number.POSITIVE_INFINITY));
write(04 === new Number(Number.NEGATIVE_INFINITY));
write(04 === '');
write(04 === 0xa);
write(04 === 04);
write(04 === 'hello');
write(04 === 'hel' + 'lo');
write(04 === String(''));
write(04 === String('hello'));
write(04 === String('h' + 'ello'));
write(04 === new String(''));
write(04 === new String('hello'));
write(04 === new String('he' + 'llo'));
write(04 === new Object());
write(04 === new Object());
write(04 === [1, 2, 3]);
write(04 === [1 ,2 , 3]);
write(04 === new Array(3));
write(04 === Array(3));
write(04 === new Array(1 ,2 ,3));
write(04 === Array(1));
write(04 === foo);
write('hello' === undefined);
write('hello' === null);
write('hello' === true);
write('hello' === false);
write('hello' === Boolean(true));
write('hello' === Boolean(false));
write('hello' === new Boolean(true));
write('hello' === new Boolean(false));
write('hello' === NaN);
write('hello' === +0);
write('hello' === -0);
write('hello' === 0);
write('hello' === 0.0);
write('hello' === -0.0);
write('hello' === +0.0);
write('hello' === 1);
write('hello' === 10);
write('hello' === 10.0);
write('hello' === 10.1);
write('hello' === -1);
write('hello' === -10);
write('hello' === -10.0);
write('hello' === -10.1);
write('hello' === Number.MAX_VALUE);
write('hello' === Number.MIN_VALUE);
write('hello' === Number.NaN);
write('hello' === Number.POSITIVE_INFINITY);
write('hello' === Number.NEGATIVE_INFINITY);
write('hello' === new Number(NaN));
write('hello' === new Number(+0));
write('hello' === new Number(-0));
write('hello' === new Number(0));
write('hello' === new Number(0.0));
write('hello' === new Number(-0.0));
write('hello' === new Number(+0.0));
write('hello' === new Number(1));
write('hello' === new Number(10));
write('hello' === new Number(10.0));
write('hello' === new Number(10.1));
write('hello' === new Number(-1));
write('hello' === new Number(-10));
write('hello' === new Number(-10.0));
write('hello' === new Number(-10.1));
write('hello' === new Number(Number.MAX_VALUE));
write('hello' === new Number(Number.MIN_VALUE));
write('hello' === new Number(Number.NaN));
write('hello' === new Number(Number.POSITIVE_INFINITY));
write('hello' === new Number(Number.NEGATIVE_INFINITY));
write('hello' === '');
write('hello' === 0xa);
write('hello' === 04);
write('hello' === 'hello');
write('hello' === 'hel' + 'lo');
write('hello' === String(''));
write('hello' === String('hello'));
write('hello' === String('h' + 'ello'));
write('hello' === new String(''));
write('hello' === new String('hello'));
write('hello' === new String('he' + 'llo'));
write('hello' === new Object());
write('hello' === new Object());
write('hello' === [1, 2, 3]);
write('hello' === [1 ,2 , 3]);
write('hello' === new Array(3));
write('hello' === Array(3));
write('hello' === new Array(1 ,2 ,3));
write('hello' === Array(1));
write('hello' === foo);
write('hel' + 'lo' === undefined);
write('hel' + 'lo' === null);
write('hel' + 'lo' === true);
write('hel' + 'lo' === false);
write('hel' + 'lo' === Boolean(true));
write('hel' + 'lo' === Boolean(false));
write('hel' + 'lo' === new Boolean(true));
write('hel' + 'lo' === new Boolean(false));
write('hel' + 'lo' === NaN);
write('hel' + 'lo' === +0);
write('hel' + 'lo' === -0);
write('hel' + 'lo' === 0);
write('hel' + 'lo' === 0.0);
write('hel' + 'lo' === -0.0);
write('hel' + 'lo' === +0.0);
write('hel' + 'lo' === 1);
write('hel' + 'lo' === 10);
write('hel' + 'lo' === 10.0);
write('hel' + 'lo' === 10.1);
write('hel' + 'lo' === -1);
write('hel' + 'lo' === -10);
write('hel' + 'lo' === -10.0);
write('hel' + 'lo' === -10.1);
write('hel' + 'lo' === Number.MAX_VALUE);
write('hel' + 'lo' === Number.MIN_VALUE);
write('hel' + 'lo' === Number.NaN);
write('hel' + 'lo' === Number.POSITIVE_INFINITY);
write('hel' + 'lo' === Number.NEGATIVE_INFINITY);
write('hel' + 'lo' === new Number(NaN));
write('hel' + 'lo' === new Number(+0));
write('hel' + 'lo' === new Number(-0));
write('hel' + 'lo' === new Number(0));
write('hel' + 'lo' === new Number(0.0));
write('hel' + 'lo' === new Number(-0.0));
write('hel' + 'lo' === new Number(+0.0));
write('hel' + 'lo' === new Number(1));
write('hel' + 'lo' === new Number(10));
write('hel' + 'lo' === new Number(10.0));
write('hel' + 'lo' === new Number(10.1));
write('hel' + 'lo' === new Number(-1));
write('hel' + 'lo' === new Number(-10));
write('hel' + 'lo' === new Number(-10.0));
write('hel' + 'lo' === new Number(-10.1));
write('hel' + 'lo' === new Number(Number.MAX_VALUE));
write('hel' + 'lo' === new Number(Number.MIN_VALUE));
write('hel' + 'lo' === new Number(Number.NaN));
write('hel' + 'lo' === new Number(Number.POSITIVE_INFINITY));
write('hel' + 'lo' === new Number(Number.NEGATIVE_INFINITY));
write('hel' + 'lo' === '');
write('hel' + 'lo' === 0xa);
write('hel' + 'lo' === 04);
write('hel' + 'lo' === 'hello');
write('hel' + 'lo' === 'hel' + 'lo');
write('hel' + 'lo' === String(''));
write('hel' + 'lo' === String('hello'));
write('hel' + 'lo' === String('h' + 'ello'));
write('hel' + 'lo' === new String(''));
write('hel' + 'lo' === new String('hello'));
write('hel' + 'lo' === new String('he' + 'llo'));
write('hel' + 'lo' === new Object());
write('hel' + 'lo' === new Object());
write('hel' + 'lo' === [1, 2, 3]);
write('hel' + 'lo' === [1 ,2 , 3]);
write('hel' + 'lo' === new Array(3));
write('hel' + 'lo' === Array(3));
write('hel' + 'lo' === new Array(1 ,2 ,3));
write('hel' + 'lo' === Array(1));
write('hel' + 'lo' === foo);
write(String('') === undefined);
write(String('') === null);
write(String('') === true);
write(String('') === false);
write(String('') === Boolean(true));
write(String('') === Boolean(false));
write(String('') === new Boolean(true));
write(String('') === new Boolean(false));
write(String('') === NaN);
write(String('') === +0);
write(String('') === -0);
write(String('') === 0);
write(String('') === 0.0);
write(String('') === -0.0);
write(String('') === +0.0);
write(String('') === 1);
write(String('') === 10);
write(String('') === 10.0);
write(String('') === 10.1);
write(String('') === -1);
write(String('') === -10);
write(String('') === -10.0);
write(String('') === -10.1);
write(String('') === Number.MAX_VALUE);
write(String('') === Number.MIN_VALUE);
write(String('') === Number.NaN);
write(String('') === Number.POSITIVE_INFINITY);
write(String('') === Number.NEGATIVE_INFINITY);
write(String('') === new Number(NaN));
write(String('') === new Number(+0));
write(String('') === new Number(-0));
write(String('') === new Number(0));
write(String('') === new Number(0.0));
write(String('') === new Number(-0.0));
write(String('') === new Number(+0.0));
write(String('') === new Number(1));
write(String('') === new Number(10));
write(String('') === new Number(10.0));
write(String('') === new Number(10.1));
write(String('') === new Number(-1));
write(String('') === new Number(-10));
write(String('') === new Number(-10.0));
write(String('') === new Number(-10.1));
write(String('') === new Number(Number.MAX_VALUE));
write(String('') === new Number(Number.MIN_VALUE));
write(String('') === new Number(Number.NaN));
write(String('') === new Number(Number.POSITIVE_INFINITY));
write(String('') === new Number(Number.NEGATIVE_INFINITY));
write(String('') === '');
write(String('') === 0xa);
write(String('') === 04);
write(String('') === 'hello');
write(String('') === 'hel' + 'lo');
write(String('') === String(''));
write(String('') === String('hello'));
write(String('') === String('h' + 'ello'));
write(String('') === new String(''));
write(String('') === new String('hello'));
write(String('') === new String('he' + 'llo'));
write(String('') === new Object());
write(String('') === new Object());
write(String('') === [1, 2, 3]);
write(String('') === [1 ,2 , 3]);
write(String('') === new Array(3));
write(String('') === Array(3));
write(String('') === new Array(1 ,2 ,3));
write(String('') === Array(1));
write(String('') === foo);
write(String('hello') === undefined);
write(String('hello') === null);
write(String('hello') === true);
write(String('hello') === false);
write(String('hello') === Boolean(true));
write(String('hello') === Boolean(false));
write(String('hello') === new Boolean(true));
write(String('hello') === new Boolean(false));
write(String('hello') === NaN);
write(String('hello') === +0);
write(String('hello') === -0);
write(String('hello') === 0);
write(String('hello') === 0.0);
write(String('hello') === -0.0);
write(String('hello') === +0.0);
write(String('hello') === 1);
write(String('hello') === 10);
write(String('hello') === 10.0);
write(String('hello') === 10.1);
write(String('hello') === -1);
write(String('hello') === -10);
write(String('hello') === -10.0);
write(String('hello') === -10.1);
write(String('hello') === Number.MAX_VALUE);
write(String('hello') === Number.MIN_VALUE);
write(String('hello') === Number.NaN);
write(String('hello') === Number.POSITIVE_INFINITY);
write(String('hello') === Number.NEGATIVE_INFINITY);
write(String('hello') === new Number(NaN));
write(String('hello') === new Number(+0));
write(String('hello') === new Number(-0));
write(String('hello') === new Number(0));
write(String('hello') === new Number(0.0));
write(String('hello') === new Number(-0.0));
write(String('hello') === new Number(+0.0));
write(String('hello') === new Number(1));
write(String('hello') === new Number(10));
write(String('hello') === new Number(10.0));
write(String('hello') === new Number(10.1));
write(String('hello') === new Number(-1));
write(String('hello') === new Number(-10));
write(String('hello') === new Number(-10.0));
write(String('hello') === new Number(-10.1));
write(String('hello') === new Number(Number.MAX_VALUE));
write(String('hello') === new Number(Number.MIN_VALUE));
write(String('hello') === new Number(Number.NaN));
write(String('hello') === new Number(Number.POSITIVE_INFINITY));
write(String('hello') === new Number(Number.NEGATIVE_INFINITY));
write(String('hello') === '');
write(String('hello') === 0xa);
write(String('hello') === 04);
write(String('hello') === 'hello');
write(String('hello') === 'hel' + 'lo');
write(String('hello') === String(''));
write(String('hello') === String('hello'));
write(String('hello') === String('h' + 'ello'));
write(String('hello') === new String(''));
write(String('hello') === new String('hello'));
write(String('hello') === new String('he' + 'llo'));
write(String('hello') === new Object());
write(String('hello') === new Object());
write(String('hello') === [1, 2, 3]);
write(String('hello') === [1 ,2 , 3]);
write(String('hello') === new Array(3));
write(String('hello') === Array(3));
write(String('hello') === new Array(1 ,2 ,3));
write(String('hello') === Array(1));
write(String('hello') === foo);
write(String('h' + 'ello') === undefined);
write(String('h' + 'ello') === null);
write(String('h' + 'ello') === true);
write(String('h' + 'ello') === false);
write(String('h' + 'ello') === Boolean(true));
write(String('h' + 'ello') === Boolean(false));
write(String('h' + 'ello') === new Boolean(true));
write(String('h' + 'ello') === new Boolean(false));
write(String('h' + 'ello') === NaN);
write(String('h' + 'ello') === +0);
write(String('h' + 'ello') === -0);
write(String('h' + 'ello') === 0);
write(String('h' + 'ello') === 0.0);
write(String('h' + 'ello') === -0.0);
write(String('h' + 'ello') === +0.0);
write(String('h' + 'ello') === 1);
write(String('h' + 'ello') === 10);
write(String('h' + 'ello') === 10.0);
write(String('h' + 'ello') === 10.1);
write(String('h' + 'ello') === -1);
write(String('h' + 'ello') === -10);
write(String('h' + 'ello') === -10.0);
write(String('h' + 'ello') === -10.1);
write(String('h' + 'ello') === Number.MAX_VALUE);
write(String('h' + 'ello') === Number.MIN_VALUE);
write(String('h' + 'ello') === Number.NaN);
write(String('h' + 'ello') === Number.POSITIVE_INFINITY);
write(String('h' + 'ello') === Number.NEGATIVE_INFINITY);
write(String('h' + 'ello') === new Number(NaN));
write(String('h' + 'ello') === new Number(+0));
write(String('h' + 'ello') === new Number(-0));
write(String('h' + 'ello') === new Number(0));
write(String('h' + 'ello') === new Number(0.0));
write(String('h' + 'ello') === new Number(-0.0));
write(String('h' + 'ello') === new Number(+0.0));
write(String('h' + 'ello') === new Number(1));
write(String('h' + 'ello') === new Number(10));
write(String('h' + 'ello') === new Number(10.0));
write(String('h' + 'ello') === new Number(10.1));
write(String('h' + 'ello') === new Number(-1));
write(String('h' + 'ello') === new Number(-10));
write(String('h' + 'ello') === new Number(-10.0));
write(String('h' + 'ello') === new Number(-10.1));
write(String('h' + 'ello') === new Number(Number.MAX_VALUE));
write(String('h' + 'ello') === new Number(Number.MIN_VALUE));
write(String('h' + 'ello') === new Number(Number.NaN));
write(String('h' + 'ello') === new Number(Number.POSITIVE_INFINITY));
write(String('h' + 'ello') === new Number(Number.NEGATIVE_INFINITY));
write(String('h' + 'ello') === '');
write(String('h' + 'ello') === 0xa);
write(String('h' + 'ello') === 04);
write(String('h' + 'ello') === 'hello');
write(String('h' + 'ello') === 'hel' + 'lo');
write(String('h' + 'ello') === String(''));
write(String('h' + 'ello') === String('hello'));
write(String('h' + 'ello') === String('h' + 'ello'));
write(String('h' + 'ello') === new String(''));
write(String('h' + 'ello') === new String('hello'));
write(String('h' + 'ello') === new String('he' + 'llo'));
write(String('h' + 'ello') === new Object());
write(String('h' + 'ello') === new Object());
write(String('h' + 'ello') === [1, 2, 3]);
write(String('h' + 'ello') === [1 ,2 , 3]);
write(String('h' + 'ello') === new Array(3));
write(String('h' + 'ello') === Array(3));
write(String('h' + 'ello') === new Array(1 ,2 ,3));
write(String('h' + 'ello') === Array(1));
write(String('h' + 'ello') === foo);
write(new String('') === undefined);
write(new String('') === null);
write(new String('') === true);
write(new String('') === false);
write(new String('') === Boolean(true));
write(new String('') === Boolean(false));
write(new String('') === new Boolean(true));
write(new String('') === new Boolean(false));
write(new String('') === NaN);
write(new String('') === +0);
write(new String('') === -0);
write(new String('') === 0);
write(new String('') === 0.0);
write(new String('') === -0.0);
write(new String('') === +0.0);
write(new String('') === 1);
write(new String('') === 10);
write(new String('') === 10.0);
write(new String('') === 10.1);
write(new String('') === -1);
write(new String('') === -10);
write(new String('') === -10.0);
write(new String('') === -10.1);
write(new String('') === Number.MAX_VALUE);
write(new String('') === Number.MIN_VALUE);
write(new String('') === Number.NaN);
write(new String('') === Number.POSITIVE_INFINITY);
write(new String('') === Number.NEGATIVE_INFINITY);
write(new String('') === new Number(NaN));
write(new String('') === new Number(+0));
write(new String('') === new Number(-0));
write(new String('') === new Number(0));
write(new String('') === new Number(0.0));
write(new String('') === new Number(-0.0));
write(new String('') === new Number(+0.0));
write(new String('') === new Number(1));
write(new String('') === new Number(10));
write(new String('') === new Number(10.0));
write(new String('') === new Number(10.1));
write(new String('') === new Number(-1));
write(new String('') === new Number(-10));
write(new String('') === new Number(-10.0));
write(new String('') === new Number(-10.1));
write(new String('') === new Number(Number.MAX_VALUE));
write(new String('') === new Number(Number.MIN_VALUE));
write(new String('') === new Number(Number.NaN));
write(new String('') === new Number(Number.POSITIVE_INFINITY));
write(new String('') === new Number(Number.NEGATIVE_INFINITY));
write(new String('') === '');
write(new String('') === 0xa);
write(new String('') === 04);
write(new String('') === 'hello');
write(new String('') === 'hel' + 'lo');
write(new String('') === String(''));
write(new String('') === String('hello'));
write(new String('') === String('h' + 'ello'));
write(new String('') === new String(''));
write(new String('') === new String('hello'));
write(new String('') === new String('he' + 'llo'));
write(new String('') === new Object());
write(new String('') === new Object());
write(new String('') === [1, 2, 3]);
write(new String('') === [1 ,2 , 3]);
write(new String('') === new Array(3));
write(new String('') === Array(3));
write(new String('') === new Array(1 ,2 ,3));
write(new String('') === Array(1));
write(new String('') === foo);
write(new String('hello') === undefined);
write(new String('hello') === null);
write(new String('hello') === true);
write(new String('hello') === false);
write(new String('hello') === Boolean(true));
write(new String('hello') === Boolean(false));
write(new String('hello') === new Boolean(true));
write(new String('hello') === new Boolean(false));
write(new String('hello') === NaN);
write(new String('hello') === +0);
write(new String('hello') === -0);
write(new String('hello') === 0);
write(new String('hello') === 0.0);
write(new String('hello') === -0.0);
write(new String('hello') === +0.0);
write(new String('hello') === 1);
write(new String('hello') === 10);
write(new String('hello') === 10.0);
write(new String('hello') === 10.1);
write(new String('hello') === -1);
write(new String('hello') === -10);
write(new String('hello') === -10.0);
write(new String('hello') === -10.1);
write(new String('hello') === Number.MAX_VALUE);
write(new String('hello') === Number.MIN_VALUE);
write(new String('hello') === Number.NaN);
write(new String('hello') === Number.POSITIVE_INFINITY);
write(new String('hello') === Number.NEGATIVE_INFINITY);
write(new String('hello') === new Number(NaN));
write(new String('hello') === new Number(+0));
write(new String('hello') === new Number(-0));
write(new String('hello') === new Number(0));
write(new String('hello') === new Number(0.0));
write(new String('hello') === new Number(-0.0));
write(new String('hello') === new Number(+0.0));
write(new String('hello') === new Number(1));
write(new String('hello') === new Number(10));
write(new String('hello') === new Number(10.0));
write(new String('hello') === new Number(10.1));
write(new String('hello') === new Number(-1));
write(new String('hello') === new Number(-10));
write(new String('hello') === new Number(-10.0));
write(new String('hello') === new Number(-10.1));
write(new String('hello') === new Number(Number.MAX_VALUE));
write(new String('hello') === new Number(Number.MIN_VALUE));
write(new String('hello') === new Number(Number.NaN));
write(new String('hello') === new Number(Number.POSITIVE_INFINITY));
write(new String('hello') === new Number(Number.NEGATIVE_INFINITY));
write(new String('hello') === '');
write(new String('hello') === 0xa);
write(new String('hello') === 04);
write(new String('hello') === 'hello');
write(new String('hello') === 'hel' + 'lo');
write(new String('hello') === String(''));
write(new String('hello') === String('hello'));
write(new String('hello') === String('h' + 'ello'));
write(new String('hello') === new String(''));
write(new String('hello') === new String('hello'));
write(new String('hello') === new String('he' + 'llo'));
write(new String('hello') === new Object());
write(new String('hello') === new Object());
write(new String('hello') === [1, 2, 3]);
write(new String('hello') === [1 ,2 , 3]);
write(new String('hello') === new Array(3));
write(new String('hello') === Array(3));
write(new String('hello') === new Array(1 ,2 ,3));
write(new String('hello') === Array(1));
write(new String('hello') === foo);
write(new String('he' + 'llo') === undefined);
write(new String('he' + 'llo') === null);
write(new String('he' + 'llo') === true);
write(new String('he' + 'llo') === false);
write(new String('he' + 'llo') === Boolean(true));
write(new String('he' + 'llo') === Boolean(false));
write(new String('he' + 'llo') === new Boolean(true));
write(new String('he' + 'llo') === new Boolean(false));
write(new String('he' + 'llo') === NaN);
write(new String('he' + 'llo') === +0);
write(new String('he' + 'llo') === -0);
write(new String('he' + 'llo') === 0);
write(new String('he' + 'llo') === 0.0);
write(new String('he' + 'llo') === -0.0);
write(new String('he' + 'llo') === +0.0);
write(new String('he' + 'llo') === 1);
write(new String('he' + 'llo') === 10);
write(new String('he' + 'llo') === 10.0);
write(new String('he' + 'llo') === 10.1);
write(new String('he' + 'llo') === -1);
write(new String('he' + 'llo') === -10);
write(new String('he' + 'llo') === -10.0);
write(new String('he' + 'llo') === -10.1);
write(new String('he' + 'llo') === Number.MAX_VALUE);
write(new String('he' + 'llo') === Number.MIN_VALUE);
write(new String('he' + 'llo') === Number.NaN);
write(new String('he' + 'llo') === Number.POSITIVE_INFINITY);
write(new String('he' + 'llo') === Number.NEGATIVE_INFINITY);
write(new String('he' + 'llo') === new Number(NaN));
write(new String('he' + 'llo') === new Number(+0));
write(new String('he' + 'llo') === new Number(-0));
write(new String('he' + 'llo') === new Number(0));
write(new String('he' + 'llo') === new Number(0.0));
write(new String('he' + 'llo') === new Number(-0.0));
write(new String('he' + 'llo') === new Number(+0.0));
write(new String('he' + 'llo') === new Number(1));
write(new String('he' + 'llo') === new Number(10));
write(new String('he' + 'llo') === new Number(10.0));
write(new String('he' + 'llo') === new Number(10.1));
write(new String('he' + 'llo') === new Number(-1));
write(new String('he' + 'llo') === new Number(-10));
write(new String('he' + 'llo') === new Number(-10.0));
write(new String('he' + 'llo') === new Number(-10.1));
write(new String('he' + 'llo') === new Number(Number.MAX_VALUE));
write(new String('he' + 'llo') === new Number(Number.MIN_VALUE));
write(new String('he' + 'llo') === new Number(Number.NaN));
write(new String('he' + 'llo') === new Number(Number.POSITIVE_INFINITY));
write(new String('he' + 'llo') === new Number(Number.NEGATIVE_INFINITY));
write(new String('he' + 'llo') === '');
write(new String('he' + 'llo') === 0xa);
write(new String('he' + 'llo') === 04);
write(new String('he' + 'llo') === 'hello');
write(new String('he' + 'llo') === 'hel' + 'lo');
write(new String('he' + 'llo') === String(''));
write(new String('he' + 'llo') === String('hello'));
write(new String('he' + 'llo') === String('h' + 'ello'));
write(new String('he' + 'llo') === new String(''));
write(new String('he' + 'llo') === new String('hello'));
write(new String('he' + 'llo') === new String('he' + 'llo'));
